#pragma once

#include <d3dx9.h>


class IRenderable abstract
{
	protected:
		bool		_render;
		bool		_colliding;
		RECT		_renderedSize;
		RECT		_onScreenRect;


	private:

	public:
		IRenderable(): _render(true) 
		{ 
			SetRect(&_renderedSize, 0, 0, 0, 0); 
			SetRect(&_onScreenRect, 0, 0, 0, 0);

			_colliding = false;
		}


		virtual void Render(LPDIRECT3DDEVICE9 rendererDev, D3DXMATRIX* transform) = 0;


		void SetRender(bool s) { _render = s; }
		bool GetRender() const { return _render; }
		void SetColliding(bool state) { _colliding = state; }
		bool GetColliding() { return _colliding; }
		RECT GetRenderedRect() const { return _renderedSize; }
		RECT GetOnScreenRect() const { return _onScreenRect; }


};